home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / util / boot / CMQ060.readme < prev    next >
Text File  |  1998-10-31  |  8KB  |  160 lines

  1. Short:    Patch CopyMem/Quick for 68060(040) v1.1b
  2. Author:   dbusse@metronet.de (Dirk Busse)
  3. Uploader: dbusse@metronet.de (Dirk Busse)
  4. Type:     util/boot
  5. Requires: 68060 or 68040
  6.  
  7. Description:
  8.    This is a small patch which replace the CopyMem and CopyMemQuick
  9.    funtions of exec.library.
  10.  
  11.    These functions are optimized for the 68060 processor. They should
  12.    also work with the 68040 processor.
  13.    The patch tests for a 68040 or 060 processor. If it can't find one,
  14.    it doesn't install the patch and exits with a return code of 20 (=fail).
  15.    It also fails, if it can't allocate the necessary memory.
  16.  
  17.    In some cases these new functions are four times faster than the
  18.    original functions.
  19.  
  20. Installation:
  21.    Just copy CMQ060 into c:
  22.    And insert CMQ060 in your s:Startup-Sequence
  23.  
  24. The source code is also in the archive.
  25.  
  26. Author:
  27.    Dirk Busse
  28.    <dbusse@primus-online.de>
  29.    <100.141999@germanynet.de>
  30.  
  31. How often are the functions used?
  32.    Some people told me, they couldn't notice a speed improvement.
  33.    You couldn't get a speed improvement by a factor of two. But there is a
  34.    little speed improvement, even if you couldn't notice it.
  35.    To show you how often the patched functions are called, I've inserted two
  36.    modified patches into Version 1.1b of this archive.
  37.    CMQ060beep:
  38.       Every time one of the patched functions CopyMem or CopyMemQuick is
  39.       called, your AMIGA makes a DisplayBeep. After calling LoadWB your
  40.       AMIGA beeps very often per second. If you boot your AMIGA without
  41.       Startup-Sequence and install CMQ060beep, you could see, every AMIGA
  42.       dos command like Dir, List, Avail, Resident... is using the patched
  43.       functions.
  44.       They all are using the CopyMem function. And this is the function with
  45.       the most speed improvement.
  46.    CMQ060beepCMQ:
  47.       This will only make a DisplayBeep, if the patched CopyMemQuick
  48.       function is called. So it shows you which programms are using the
  49.       patched CopyMemQuick function. For Example: PageStream3.3 while moving
  50.       a scrollbar or making a redraw or TeleInfo2 or ... .
  51.  
  52. Speed comparision:
  53.    There are already some similar patches available on the Aminet:
  54.       CopyMemQuicker V2.8 from 1994 -> Aminet:util/boot/COPMQR28.lha
  55.       PCM V1.0            from 1996 -> Aminet:util/boot/PCM_1.0.lha
  56.       Also MCP patches these functions.
  57.  
  58.    CopyMemQuicker is optimized for a 68000,010 and 020 processor.
  59.    But on a 68060 (I think also on a 68040) you could get some more
  60.    speed improvement.
  61.  
  62.    PCM is optimized for the 68040 and 060 processor. But some copy modes
  63.    like Long to Even aren't optimized. And the copy mode Long+1 to Even+1
  64.    needs twice the time as the original exec function.
  65.  
  66.    In a lot of cases the patched functions from MCP are the slowest of all.
  67.    Some copy modes are even slower than the original Kickstart 3.1
  68.    functions.
  69.  
  70. Here are some test results. All results are measured on the same
  71. AMIGA 2000 with DKB WildFire060-50MHz:
  72.  
  73. TestIt from                                                                 
  74. CopyMemQuicker
  75. V2.8               original   CopyMemQuicker MCP  PCM  CMQ060
  76.                  Kickstart3.1      V2.8     V1.30 V1.0  V1.1
  77. CopyMem            routines
  78. 565×64kB L->L        1.85          1.85      1.85 1.35  1.31
  79. 147×64kB L->L+1      1.33          1.14      1.09 1.07  0.47
  80. 413×64kB L->E        2.21          2.21      2.21 2.23  1.29
  81. 147×64kB L->E+1      1.35          1.15      1.07 1.07  0.47
  82. 147×64kB L+1->L      1.35          1.15      0.51 0.47  0.45
  83. 382×64kB L+1->L+1    2.11          1.23      2.91 0.91  0.87
  84. 147×64kB L+1->E      1.33          1.15      0.81 0.79  0.47
  85. 501×64kB L+1->E+1    1.71          1.70      3.81 3.71  1.57
  86. 501×64kB E->L        1.71          1.71      1.75 1.59  1.57
  87. 147×64kB E->L+1      1.33          1.15      1.13 1.07  0.45
  88. 382×64kB E->E        2.11          1.23      2.13 0.91  0.89
  89. 147×64kB E->E+1      1.35          1.13      1.11 1.09  0.45
  90. 147×64kB E+1->L      1.33          1.15      0.51 0.45  0.47
  91. 413×64kB E+1->L+1    2.19          2.19      3.15 3.05  1.31
  92. 147×64kB E+1->E      1.33          1.15      0.81 0.79  0.47
  93. 564×64kB E+1->E+1    1.81          1.81      4.31 1.35  1.31
  94. 33900×1kB L->L       1.10          1.11      1.13 1.31  1.03
  95. 9400×1kB L->L+1      1.17          0.93      0.91 0.86  0.29
  96. 24000×1kB E->E       1.70          0.80      1.68 0.92  0.74
  97. 196000×128B L->L     1.02          0.73      1.06 1.04  0.75
  98. 155000×128B E->E     1.61          0.63      1.57 1.05  0.59
  99. 588000×19B L->L      0.83          0.60      1.46 0.74  0.50
  100. 622000×18B L->L      0.81          0.51      1.43 0.77  0.47
  101. 663000×17B L->L      0.75          0.70      1.47 0.73  0.52
  102. 956000×16B L->L      0.79          0.71      2.01 1.00  0.69
  103. 1060000×8B L->L      0.85          0.79      1.19 1.01  0.52
  104. 1430000×4B L->L      0.73          0.61      1.15 1.14  0.38
  105. 2190000×1B L->L      0.67          0.61      0.73 0.84  0.56
  106. CopyMemQuick                                                                
  107. 565×64kB L->L        1.85          1.87      1.85 1.33  1.31
  108. 33900×1kB L->L       1.09          1.11      1.13 0.89  1.03
  109. 196000×128B L->L     0.99          0.71      1.07 0.81  0.71
  110. 956000×16B L->L      0.69          0.63      0.86 0.94  0.56
  111. 1060000×8B L->L      0.47          0.57      0.63 0.60  0.40
  112. 1430000×4B L->L      0.35          0.51      0.63 0.52  0.23
  113.                                                                             
  114. Test from                                                                   
  115. PCM V1.0                                                                    
  116. Fast->Fast                                                                   
  117. CopyMem              0.26          0.26      0.26 0.18  0.18
  118. CopyMemQuick         0.26          0.26      0.26 0.20  0.18
  119. Chip->Fast
  120. CopyMem              1.98          1.98      1.96 2.16  2.14
  121. CopyMemQuick         1.98          1.98      1.98 2.16  2.14
  122. Fast->Chip                                                                  
  123. CopyMem              1.92          1.91      1.92 1.90  1.90
  124. CopyMemQuick         1.92          1.92      1.92 1.90  1.88
  125. Chip->Chip                                                                  
  126. CopyMem              3.64          3.62      3.64 3.70  3.68
  127. CopyMemQuick         3.62          3.62      3.62 3.70  3.68
  128.  
  129.  
  130. History:
  131.    1.0 (12.Sep.1998)
  132.        - First public version.
  133.    1.1 (15.Sep.1998)
  134.        - V1.0 exits with a return code of 10 (=error), if it can't find
  135.          a 68040 or 68060 or can't get the necessary memory.
  136.          V1.1 exits, in this cases, with a return code of 20 (=fail).
  137.        - Fixed a mistake in the readme.
  138.    1.1b (19.Sep.1998)
  139.        (I didn't changed the Patch itself! It's the same as V1.1)
  140.        - Added the Testresults of MCP V1.30 into the readme.
  141.        - Added CMQ060beep and CMQ060beepCMQ (see above).
  142.  
  143.  
  144. ============================= Archive contents =============================
  145.  
  146. Original  Packed Ratio    Date     Time    Name
  147. -------- ------- ----- --------- --------  -------------
  148.      444     318 28.3% 15-Sep-98 19:59:06  CMQ060
  149.     6865    2331 66.0% 19-Sep-98 12:27:38  CMQ060.readme
  150.      540     386 28.5% 19-Sep-98 11:35:02 +CMQ060beep
  151.      516     379 26.5% 19-Sep-98 11:35:02 +CMQ060beepCMQ
  152.     3609     823 77.1% 12-Sep-98 17:52:28 +CMQ060.include.s
  153.     4209     917 78.2% 19-Sep-98 11:33:20 +CMQ060.Includebeep.s
  154.     4220     949 77.5% 19-Sep-98 11:33:56 +CMQ060.IncludebeepCMQ.s
  155.     1880     678 63.9% 15-Sep-98 19:59:20 +CMQ060.s
  156.     2070     750 63.7% 19-Sep-98 00:37:58 +CMQ060beep.s
  157.     2072     751 63.7% 19-Sep-98 00:38:28 +CMQ060beepCMQ.s
  158. -------- ------- ----- --------- --------
  159.    26425    8282 68.6% 21-Sep-98 22:05:24   10 files
  160.